/**
 * @author ：wang-ting
 * @Date：2025/4/6 18:49
 */

/**
 * 本关任务：编写程序，输入三行字符串。按从大到小顺序分三行输出这三个字符串。
 */
public class CompareString {


    public static void main(String[] args) {
        String[] array = new String[] {"Xyz", "xyZ", "YXz"};
        compare(array);

        String s1 = "YXz";
        // 字符串转为字符数组
        char[] charArray = s1.toCharArray();
        // 需要从字符串中获取单个字符的方式1
        if(charArray[0] > charArray[1]) {

        }

        // 切记：字符串之间不能直接使用 “> < ==” 进行比较
        // 数字和字符才行
        // 需要从字符串中获取单个字符的方式2
        if (s1.charAt(0) > s1.charAt(1)) {

        }

        // 以上两种方式推荐使用方式1， 原因如下：
        // 1. 方式2编写复杂，且效率低下，需要遍历字符串才能定位到具体下标的字符
        // 2. 方式1转换为了数组，数组可以快速的获取任意下标的元素，十分高效




        String s2 = "Xyz";
//        System.out.println(compareString(s1, s2));
    }


    public static int compareString(String s1, String s2) {
        return s1.compareTo(s2);
    }

    /**
     * 输入三行字符串。按从大到小顺序分三行输出这三个字符串。
     */
    public static void compare(String[] arrays) {
        for (int i = 0; i < arrays.length; i++) {
            for (int j = i + 1; j < arrays.length; j++) {
                if (arrays[i].compareTo(arrays[j]) < 0) {
                    // 交换
                    String k = arrays[i];
                    arrays[i] = arrays[j];
                    arrays[j] = k;
                }
            }
        }
        // 打印
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }




    }
}
